﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace GeekTime.API.Application.IntegrationEvents
{
    /// <summary>
    /// 集成事件的定义是没有接口和基类约束的。
    /// 因为在异构的系统里面，对于集成事件来讲的定义是相对比较灵活的。建议用这种简单的类型来承载他即可
    /// 集成事件是跨服务的领域事件
    /// 集成事件一般是由领域事件驱动的。
    /// 不通过事务来处理集成事件（实现最终一致性）
    /// 仅在必要的情况下定义和使用集成事件
    /// </summary>
    public class OrderPaymentSucceededIntegrationEvent
    {
        public OrderPaymentSucceededIntegrationEvent(long orderId) => OrderId = orderId;
        public long OrderId { get; }
    }
}
